1 using System.Collections;
2 using
System.Collections.Generic;
3 using
UnityEngine;
4
5 public
class BossShoot : MonoBehaviour {
6
7     
public GameObject bullet;
8
9     
public bool isReadyToShoot, fireBullet;
10
11     
private float fireRate, firstDelay, secondDelay;
12
13     
// Use this for initialization
14     
void Start () {
15         
16     }
17     
18     
// Update is called once per frame
19     
void Update () {
20         
if(isReadyToShoot){
21             fireRate = Random.Range(
4, 6);
22             firstDelay += Time.deltaTime;
23             
if (firstDelay >= fireRate) {
24                 
if (!fireBullet) {
25                     fireBullet =
true;
26                     
if (GameObject.FindGameObjectWithTag ("Player") != null) {
27                         GameObject newBullet = Instantiate (bullet,
new Vector3 (transform.position.x, 0.3f, transform.position.z), Quaternion.identity) as GameObject;
28                         Transform target = GameObject.FindGameObjectWithTag (
"Player").transform;
29                         newBullet.GetComponent<Rigidbody2D> ().velocity = (target.position - transform.position).normalized *
5f;
30                     }
else {
31                         GameObject newBullet = Instantiate (bullet,
new Vector3 (transform.position.x, 0.3f, transform.position.z), Quaternion.identity) as GameObject;
32                         newBullet.GetComponent<Rigidbody2D> ().velocity =
new Vector2 (Random.Range(-1f, 1f), -2f);
33                     }
34                 }
35
36                 
if (fireBullet) {
37                     secondDelay += Time.deltaTime;
38                     
if (secondDelay >= 0.5f) {
39                         secondDelay =
0;
40                         firstDelay =
0;
41                         
if (GameObject.FindGameObjectWithTag ("Player") != null) {
42                             GameObject newBullet = Instantiate (bullet,
new Vector3 (transform.position.x, 0.3f, transform.position.z), Quaternion.identity) as GameObject;
43                             Transform target = GameObject.FindGameObjectWithTag (
"Player").transform;
44                             newBullet.GetComponent<Rigidbody2D> ().velocity = (target.position - transform.position).normalized *
5f;
45                         }
else {
46                             GameObject newBullet = Instantiate (bullet,
new Vector3 (transform.position.x, 0.3f, transform.position.z), Quaternion.identity) as GameObject;
47                             newBullet.GetComponent<Rigidbody2D> ().velocity =
new Vector2 (Random.Range(-0.1f, 0.1f), -2f);
48                         }
49                         fireBullet =
false;
50                     }
51                 }
52             }
53
54         }
55
56  
57     }
58         
59 }


Use this for initialization

Update is called once per frame



Gõ tìm kiếm nhanh...